#ifndef PATTERNS_JS
#define PATTERNS_JS

/* static class */ Patterns = function() { throw "MissingMethodException"; };

(function()
{
	var _identifier = "([A-Za-z_][A-Za-z0-9_]*)";
	Patterns.__defineGetter__("Identifier", function() { return _identifier; });
	Patterns.__defineSetter__("Identifier", function() { throw "MethodAccessibilityException"; });
	
	var _signature = "((" + _identifier + ", )*" + _identifier + ")*";
	Patterns.__defineGetter__("Signature", function() { return _signature; });
	Patterns.__defineSetter__("Signature", function() { throw "MethodAccessibilityException"; });
	
	var _accessModifier = "(public|private|protected)";
	Patterns.__defineGetter__("AccessModifier", function() { return _accessModifier; });
	Patterns.__defineSetter__("AccessModifier", function() { throw "MethodAccessibilityException"; });
})();

#endif
